/* Define to prevent recursive inclusion -------------------------------------*/
#pragma once



/**
  * @brief  毫秒延时.
  * @param  ms 延时毫秒数，单位ms.
  * @note	为保证延时精准，需保证此api在ram上，调用此延时api的相关函数也在ram上
  * @retval 无
  */
void delay_ms(uint32_t ms);

/**
  * @brief  微秒延时
  * @param  us 延时微秒数，单位us.不能大于1000.
  * @note	此函数只能精确到10us级的延时.
  * @note	为保证延时精准，需保证此api在ram上，调用此延时api的相关函数也在ram上
  * @retval 无
  */
void delay_us(uint32_t us);

/**
  * @brief  cycles延时
  * @param  cycles 延时周期数
  * @note	此函数可延时1us级别，但是需用户自己调整cycles值
  * @note	为保证延时精准，需保证此api在ram上，调用此延时api的相关函数也在ram上
  * @retval 无
  */
void delay_cycles(uint32_t cycles);
